package cn.tedu.boot03.mapper;

import cn.tedu.boot03.entity.Product;
import org.apache.ibatis.annotations.*;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;

//MyBatis框架通过实体类和表之间的映射关系 在Mapper接口文件中写实体类和表字段的对应关系
//框架会通过此关系生成对应的JDBC代码
@Mapper
public interface ProductMapper {
    //#{xxx}会自动从下面的参数列表中找到同名的变量, 如果没有同名变量, 会调用第一个参数的getXXX方法
    @Insert("INSERT INTO product VALUES(NULL,#{title},#{price},#{num})")
    void insert(Product product);

    @Select("SELECT * FROM product")
    List<Product> select();

    @Delete("DELETE FROM product WHERE id=#{id}")
    void deleteById(int id);

    @Update("UPDATE product SET title=#{title},price=#{price},num=#{num} WHERE id=#{id}")
    void update(Product product);
}
